package jhlee42;

import java.util.Scanner;

public class J08Array {
	// 배열 : 같은 종류의 데이터를 저장하기 위한 자료 구조
	// 데이터는 순차적으로 저장, 동일한 저장 허용
	// 배열 변수는 주고를 참조 자료형
	// 즉, 배열변수에 저장되는 값은
	// 데이터들이 저장된 곳을 가리키는 주소를 의미
	public static void main(String[] args) {
		// 배열변수 선언
		int intArray[]; // 방은 예약했는데 체크인이 안됐다..// 우편함은 있는데 우편물이 없다..
		double doubleArray[];
		String stringArray[] = null;
		
		
		// 배열변수 생성
		intArray = new int[5];
		doubleArray = new double[5];

		// 배열 요소 다루기
		// 배열 요소의 위치값을 의미하는 index를 이용
		// 요소의 index는 0부터 배열크기 -1임
		// 배열의 엉뚱한 index를 가리키면
		//  java.lang.ArrayIndexOutOfBoundsException 발생!!
		intArray[0] = 1;
		intArray[2] = 2;
		intArray[3] = 3;
		intArray[4] = 4;
//		intArray[5] = 5; // 오류 발생!!  java.lang.ArrayIndexOutOfBoundsException
	
		System.out.println(intArray[2]);
		System.out.println(intArray[4]);
		
		// 배열 크기 확인
		
		// 배열변수명.length
		System.out.println(intArray.length);
		System.out.println(doubleArray.length);
		System.out.println(stringArray.length);
		
		// 배열 선언 및 생성
		int iArray[] = new int[10];
		double dArray[] = new double[10];
		String sArray[] = new String[10];
		
		
		
		// 배열 선언 및 초기화
		String name[] = {"태희","혜교","지현"};
		int kor[] = {99,78,65};
		double avg[] = {98.7,35,3,75.5};
		
		System.out.println(name.length);
		System.out.println(kor.length);
		System.out.println(avg.length);
		
		
	}

}
